How to hide Drives
By Mohamed
FaYeD
Pharaonic_Guy
عند وضع التصريح NoDrives في المفتاح Explorer :
HKEY_CURRENT_USER\Software\Microsoft\Windows\
CurrentVersion\Policies\Explorer
مع قيم محددة تمثل الأقراص من A إلي Z , يؤدي إلي إخفاء أي قرص علي حسب
القيمة التي قمنا بوضعها..
والقيم التي نستطيع استخدامها لإخفاء الأقراص تتكون من أربع فئات:
|
Drive
Letter |
Value |
|
A: |
01 00 00 00 |
|
B: |
02 00 00 00 |
|
C: |
04 00 00 00 |
|
D: |
08 00 00 00 |
|
E: |
10 00 00 00 |
|
F: |
20 00 00 00 |
|
G: |
40 00 00 00 |
|
H: |
80 00 00 00 |
|
I: |
00 01 00 00 |
|
J: |
00 02 00 00 |
|
K: |
00 04 00 00 |
|
L: |
00 08 00 00 |
|
M: |
00 10 00 00 |
|
N: |
00 20 00 00 |
|
O: |
00 40 00 00 |
|
P: |
00 80 00 00 |
|
Q: |
00 00 01 00 |
|
R: |
00 00 02 00 |
|
S: |
00 00 04 00 |
|
T: |
00 00 08 00 |
|
U: |
00 00 10 00 |
|
V: |
00 00 20 00 |
|
W: |
00 00 40 00 |
|
X: |
00 00 80 00 |
|
Y: |
00 00 00 01 |
|
Z: |
00 00 00 02 |
فمثلا لإخفاء القرص C نقوم بوضع
اسم القيمة NoDrives
ونوعها Dword وقيمتها تساوي 4 بالنظام السداسي عشر Hexadecimal.
hexadecimal decimal ----------- ------- 0 0 (zero) 0x1 1 (one) 0x2 2 (two) 0x3 3 (three) 0x4 4 (four) 0x5 5 (five) 0x6 6 (six) 0x7 7 (seven) 0x8 8 (eight) 0x9 9 (nine) 0xA 10 (ten) 0xB 11 (eleven) 0xC 12 (twelve) 0xD 13 (thirteen) 0xE 14 (fourteen) 0xF 15 (fifteen) 0x10 16 (sixteen) 0x11 17 (seventeen) |
فإذا أردنا إخفاء القرصين A,C بالتالي نقوم بجمع القيم كلا من
القرصين (1+4) ونضع القيمة الناتجة 5
للتصريح NoDrives.. مما يؤدي إلي إخفاء القرصين.
هكذا تلاحظ من قيم الأقراص ..أنه
لا توجد قيمتين ..إذا قمت بجمعهم ينتجوا قيمه أخري.. حتى لا تتضارب قيم الأقراص.
مثال أخر
نريد إخفاء القرصينC,D وبالتالي نضع اسم القيمة NoDrives ونوعها Dword
وقيمتها مجموع قيمتي ال C و ال D وهما 12..
ولكن الرقم 12 يمثل عشريا ..
والقيمة التي سنضعها قد تختلف فيما بعد مع النظام السداسي
, وفيما بعد عليك التأكد من القيمة أولا بالنظام السداسي عشر ثم تحويلها إلي
النظام العشري خاصة مع إخفاء أكثر من قرص من فئات مختلفة.
المهم الآن هو توضيح الأمر فإذا قمت بوضع القيم يدويا حيث يلزم
تحويل الرقم 12 إلي النظام السداسي ليكون 0C)), إذا كنا سنضع القيمة بالنظام
السداسي.
مثال أخر نريد إخفاء أو أربعة أقراص
..A,B,C,D
:
إذا قمت بجمع القيم فستجدها 15... قم
بتحويلها إلي النظام السداسي لتصبح (0F)
مثال أخر نريد أخفاء أول ثمانية أقراص A,B,C,D,E,F,G,H وهم داخل الفئة الأولي
A+B+C+D+E+F+G+H = 165
ثم بتحويل الرقم 165 إلي نظام السداسي ليصبح (A5), وهو ما سنقوم بوضعه للقيمة NoDrives بالنظام السداسي عشر وذلك لإخفاء أول ثمانية أقراص.
لاحظ أنك إذا لم
تكن تجيد التحويل بين أنظمة الأعداد, فيمكنك استخدام الآلة الحاسبة Calc في وضع Scientific
أو تستفيد من خاصية التحويل داخل برنامج محرر السجل RegEdit.exe.. كما في الصورة التالية..
تقوم بوضع القيمة بالصيغة العشرية في مربع نص Value Data ..
ولاحظ
أنه يجب أن يكون الاختيار علي Decimal حتى تتأكد من أنك ستكتب أرقام بالصيغة العشرية.

ثم تضغط علي اختيارHexadecimal ,
لتحصل علي القيمة النهائية التي ستضعها..

مثال أخر إذا أردت إخفاء الأقراص التالية :
A,C,E,N,O,R,U,Y,Z
فستنتج القيمة
0F 3C 0C 03
وذلك لأن
A+C+E = 01+ 04+10 = 15 = 0F (بالهكس)
N+O = 20+40 = 60 = 3C (بالهكس)
R+U = 02 + 10 = 12 =
0C (بالهكس)
Y+Z = 01 + 02 = 3 = 03
(بالهكس)
وبالتالي سنقوم بوضع القيمة (0F 3C
0C 03) بالنظام
السداسي, أو القيم (15 60 12 3) بالنظام العشري لإخفاء الأقراص A,C,E,N,O,R,U,Y,Z, ويمكنك فعل ذلك عن طريق الدالة SetDwordValue ..
المهم لإظهار جميع الأقراص المخفية نضع
القيمة
00
00 00 00
ولإخفاء جميع الأقراص فبدون أن نجمع القيم يمكننا إسناد
أعلي قيمة وهي FF, حتى تشمل جميع قيم الأقراص داخل
الفئة الواحدة.
FF FF FF 03
|
Private Sub Hide_Drives() Const HKCU = &H80000001 Set ObjReg =
GetObject("winmgmts:\\.\root\Default:StdRegProv") strkeypath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\" '
To hide A,B,C,D,E,F,G,H ObjReg.SetDwordValue HKCU, strkeypath,
"NoDrives", 165 '
To hide A,B,C,D,E,F,G,H,I,J,K,L ObjReg.SetDwordValue HKCU, strkeypath,
"NoDrives", 65295 ' FF0F '
To hide A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P ObjReg.SetDwordValue HKCU, strkeypath,
"NoDrives", 65535 ' FFFF ' To hide all Drives ObjReg.SetDwordValue HKCU, strkeypath,
"NoDrives", 4294967295 ' FFFFFFFF End Sub |
يمكن استخدام برنامج الآلة الحاسبة Calc في التحويل بين القيم
فمثلا لتحويل القيمة FFFFFFFF إلي النظام العشري..
قم بتشغيل Calc.exe ثم اختر وضع الـ Scientfic Mode إذا لم منشطا

ثم اختيار الوضع Hex

وكتابة الرقم الذي تريد تحويله

ثم اختيار الوضع Dec.

يمكن
القيام بتلك العملية برمجيا .. ولكن ليس هذا مجال حديثنا